﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x0200146F RID: 5231
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class TreasureDungeonRecordData : IMessage<TreasureDungeonRecordData>, IMessage, IEquatable<TreasureDungeonRecordData>, IDeepCloneable<TreasureDungeonRecordData>, IBufferMessage
	{
		// Token: 0x170041F5 RID: 16885
		// (get) Token: 0x0600EA2E RID: 59950 RVA: 0x00272463 File Offset: 0x00270663
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<TreasureDungeonRecordData> Parser
		{
			get
			{
				return TreasureDungeonRecordData._parser;
			}
		}

		// Token: 0x170041F6 RID: 16886
		// (get) Token: 0x0600EA2F RID: 59951 RVA: 0x0027246A File Offset: 0x0027066A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return TreasureDungeonRecordDataReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170041F7 RID: 16887
		// (get) Token: 0x0600EA30 RID: 59952 RVA: 0x0027247C File Offset: 0x0027067C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return TreasureDungeonRecordData.Descriptor;
			}
		}

		// Token: 0x0600EA31 RID: 59953 RVA: 0x00272483 File Offset: 0x00270683
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TreasureDungeonRecordData()
		{
		}

		// Token: 0x0600EA32 RID: 59954 RVA: 0x0027248C File Offset: 0x0027068C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TreasureDungeonRecordData(TreasureDungeonRecordData other) : this()
		{
			this.targetGridId_ = other.targetGridId_;
			this.sourceGridId_ = other.sourceGridId_;
			this.type_ = other.type_;
			this.param1_ = other.param1_;
			this.param2_ = other.param2_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600EA33 RID: 59955 RVA: 0x002724EC File Offset: 0x002706EC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TreasureDungeonRecordData Clone()
		{
			return new TreasureDungeonRecordData(this);
		}

		// Token: 0x170041F8 RID: 16888
		// (get) Token: 0x0600EA34 RID: 59956 RVA: 0x002724F4 File Offset: 0x002706F4
		// (set) Token: 0x0600EA35 RID: 59957 RVA: 0x002724FC File Offset: 0x002706FC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint TargetGridId
		{
			get
			{
				return this.targetGridId_;
			}
			set
			{
				this.targetGridId_ = value;
			}
		}

		// Token: 0x170041F9 RID: 16889
		// (get) Token: 0x0600EA36 RID: 59958 RVA: 0x00272505 File Offset: 0x00270705
		// (set) Token: 0x0600EA37 RID: 59959 RVA: 0x0027250D File Offset: 0x0027070D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint SourceGridId
		{
			get
			{
				return this.sourceGridId_;
			}
			set
			{
				this.sourceGridId_ = value;
			}
		}

		// Token: 0x170041FA RID: 16890
		// (get) Token: 0x0600EA38 RID: 59960 RVA: 0x00272516 File Offset: 0x00270716
		// (set) Token: 0x0600EA39 RID: 59961 RVA: 0x0027251E File Offset: 0x0027071E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TreasureDungeonRecordType Type
		{
			get
			{
				return this.type_;
			}
			set
			{
				this.type_ = value;
			}
		}

		// Token: 0x170041FB RID: 16891
		// (get) Token: 0x0600EA3A RID: 59962 RVA: 0x00272527 File Offset: 0x00270727
		// (set) Token: 0x0600EA3B RID: 59963 RVA: 0x0027252F File Offset: 0x0027072F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Param1
		{
			get
			{
				return this.param1_;
			}
			set
			{
				this.param1_ = value;
			}
		}

		// Token: 0x170041FC RID: 16892
		// (get) Token: 0x0600EA3C RID: 59964 RVA: 0x00272538 File Offset: 0x00270738
		// (set) Token: 0x0600EA3D RID: 59965 RVA: 0x00272540 File Offset: 0x00270740
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Param2
		{
			get
			{
				return this.param2_;
			}
			set
			{
				this.param2_ = value;
			}
		}

		// Token: 0x0600EA3E RID: 59966 RVA: 0x00272549 File Offset: 0x00270749
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as TreasureDungeonRecordData);
		}

		// Token: 0x0600EA3F RID: 59967 RVA: 0x00272558 File Offset: 0x00270758
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(TreasureDungeonRecordData other)
		{
			return other != null && (other == this || (this.TargetGridId == other.TargetGridId && this.SourceGridId == other.SourceGridId && this.Type == other.Type && this.Param1 == other.Param1 && this.Param2 == other.Param2 && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600EA40 RID: 59968 RVA: 0x002725D4 File Offset: 0x002707D4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.TargetGridId != 0U)
			{
				num ^= this.TargetGridId.GetHashCode();
			}
			if (this.SourceGridId != 0U)
			{
				num ^= this.SourceGridId.GetHashCode();
			}
			if (this.Type != TreasureDungeonRecordType.TreasureDungeonRecordNone)
			{
				num ^= this.Type.GetHashCode();
			}
			if (this.Param1 != 0U)
			{
				num ^= this.Param1.GetHashCode();
			}
			if (this.Param2 != 0U)
			{
				num ^= this.Param2.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600EA41 RID: 59969 RVA: 0x0027267D File Offset: 0x0027087D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600EA42 RID: 59970 RVA: 0x00272685 File Offset: 0x00270885
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600EA43 RID: 59971 RVA: 0x00272690 File Offset: 0x00270890
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.SourceGridId != 0U)
			{
				output.WriteRawTag(40);
				output.WriteUInt32(this.SourceGridId);
			}
			if (this.TargetGridId != 0U)
			{
				output.WriteRawTag(72);
				output.WriteUInt32(this.TargetGridId);
			}
			if (this.Param1 != 0U)
			{
				output.WriteRawTag(80);
				output.WriteUInt32(this.Param1);
			}
			if (this.Type != TreasureDungeonRecordType.TreasureDungeonRecordNone)
			{
				output.WriteRawTag(96);
				output.WriteEnum((int)this.Type);
			}
			if (this.Param2 != 0U)
			{
				output.WriteRawTag(120);
				output.WriteUInt32(this.Param2);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600EA44 RID: 59972 RVA: 0x00272740 File Offset: 0x00270940
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.TargetGridId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.TargetGridId);
			}
			if (this.SourceGridId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.SourceGridId);
			}
			if (this.Type != TreasureDungeonRecordType.TreasureDungeonRecordNone)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Type);
			}
			if (this.Param1 != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Param1);
			}
			if (this.Param2 != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Param2);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600EA45 RID: 59973 RVA: 0x002727E0 File Offset: 0x002709E0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(TreasureDungeonRecordData other)
		{
			if (other == null)
			{
				return;
			}
			if (other.TargetGridId != 0U)
			{
				this.TargetGridId = other.TargetGridId;
			}
			if (other.SourceGridId != 0U)
			{
				this.SourceGridId = other.SourceGridId;
			}
			if (other.Type != TreasureDungeonRecordType.TreasureDungeonRecordNone)
			{
				this.Type = other.Type;
			}
			if (other.Param1 != 0U)
			{
				this.Param1 = other.Param1;
			}
			if (other.Param2 != 0U)
			{
				this.Param2 = other.Param2;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600EA46 RID: 59974 RVA: 0x0027286C File Offset: 0x00270A6C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600EA47 RID: 59975 RVA: 0x00272878 File Offset: 0x00270A78
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 72U)
				{
					if (num == 40U)
					{
						this.SourceGridId = input.ReadUInt32();
						continue;
					}
					if (num == 72U)
					{
						this.TargetGridId = input.ReadUInt32();
						continue;
					}
				}
				else
				{
					if (num == 80U)
					{
						this.Param1 = input.ReadUInt32();
						continue;
					}
					if (num == 96U)
					{
						this.Type = (TreasureDungeonRecordType)input.ReadEnum();
						continue;
					}
					if (num == 120U)
					{
						this.Param2 = input.ReadUInt32();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04005CA6 RID: 23718
		private static readonly MessageParser<TreasureDungeonRecordData> _parser = new MessageParser<TreasureDungeonRecordData>(() => new TreasureDungeonRecordData());

		// Token: 0x04005CA7 RID: 23719
		private UnknownFieldSet _unknownFields;

		// Token: 0x04005CA8 RID: 23720
		public const int TargetGridIdFieldNumber = 9;

		// Token: 0x04005CA9 RID: 23721
		private uint targetGridId_;

		// Token: 0x04005CAA RID: 23722
		public const int SourceGridIdFieldNumber = 5;

		// Token: 0x04005CAB RID: 23723
		private uint sourceGridId_;

		// Token: 0x04005CAC RID: 23724
		public const int TypeFieldNumber = 12;

		// Token: 0x04005CAD RID: 23725
		private TreasureDungeonRecordType type_;

		// Token: 0x04005CAE RID: 23726
		public const int Param1FieldNumber = 10;

		// Token: 0x04005CAF RID: 23727
		private uint param1_;

		// Token: 0x04005CB0 RID: 23728
		public const int Param2FieldNumber = 15;

		// Token: 0x04005CB1 RID: 23729
		private uint param2_;
	}
}
